import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
import { HttpModule, JsonpModule} from "@angular/http";
import { TableModule} from "primeng/table";
import { DataTableModule} from 'primeng/datatable';
import { PaginatorModule} from 'primeng/paginator';
import { InputTextModule} from 'primeng/inputtext';
import { FileUploadModule} from 'primeng/fileupload';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { TabViewModule} from 'primeng/tabview';
import { InputTextareaModule} from 'primeng/inputtextarea';
import { DialogModule} from 'primeng/dialog';
import { CalendarModule} from 'primeng/calendar';
import { CheckboxModule} from 'primeng/checkbox';
import { GalleriaModule} from 'primeng/galleria';

import { ProblemsService} from './problems/problems.service';
import { ProblemRelatedService} from './problem-sets/problem-related.service';
import { SubmissionsService} from './problem-sets/submissions/submissions.service';
import { RankingsService} from './problem-sets/rankings/rankings.service';
import { ProblemNewService} from './problems/type/6/new/new.component.service';
import { TypeService} from './problems/type/type.service';
import { UserLoginService} from './user/user-login/user-login.service';
import { UserService} from './user/user.service';
import { UserInfoService} from './user/user-info/user-info.service';
import { GlobalService} from "./global.service";
import { UserGroupsService} from './user/user-groups/user-groups.service';
import { NewUserGroupService} from './user/user-groups/new/new-user-group.service';
import { EditUserGroupService} from './user/user-groups/edit/edit-user-group.service';


import { AppComponent } from './app.component';
import { AllProblemComponent } from './problems/all-problem/all-problem.component';
import { ProblemSetsComponent } from './problem-sets/problem-sets.component';
import { ProblemsComponent } from './problem-sets/problems/problems.component';
import { NewComponent } from './problems/type/6/new/new.component';
import { TypeComponent } from './problems/type/type.component';
import { NewSetsComponent} from './problem-sets/new/new.component';
import { UserLoginComponent } from './user/user-login/user-login.component';
import { UserInfoComponent } from './user/user-info/user-info.component';
import { UserGroupsComponent } from './user/user-groups/user-groups.component';
import { EditUserGroupComponent } from './user/user-groups/edit/edit-user-group.component';
import { NewUserGroupComponent } from './user/user-groups/new/new-user-group.component';
import { SubmissionsComponent } from './problem-sets/submissions/submissions.component';
import { RankingsComponent } from './problem-sets/rankings/rankings.component';
import { UserForgetComponent } from './user/user-forget/user-forget.component';
import { UserManagerComponent } from './user/user-manager/user-manager.component';
import { HomeComponent } from './home/home.component';
import { HomeManagerComponent } from './home/home-manager/home-manager.component';

@NgModule({
  declarations: [
    AppComponent,
    AllProblemComponent,
    ProblemSetsComponent,
    ProblemsComponent,
    NewComponent,
    TypeComponent,
    NewSetsComponent,
    UserLoginComponent,
    UserInfoComponent,
    UserGroupsComponent,
    EditUserGroupComponent,
    NewUserGroupComponent,
    SubmissionsComponent,
    RankingsComponent,
    UserForgetComponent,
    UserManagerComponent,
    HomeComponent,
    HomeManagerComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    AppRoutingModule,
    HttpModule,
    JsonpModule,
    TableModule,
    DataTableModule,
    PaginatorModule,
    InputTextModule,
    FileUploadModule,
    TabViewModule,
    DialogModule,
    BrowserAnimationsModule,
    InputTextareaModule,
    DialogModule,
    CalendarModule,
    CheckboxModule,
    GalleriaModule,
  ],

  providers: [
    ProblemsService,
    ProblemRelatedService,
    ProblemNewService,
    TypeService,
    UserLoginService,
    UserService,
    GlobalService,
    UserGroupsService,
    NewUserGroupService,
    EditUserGroupService,
    SubmissionsService,
    RankingsService,
    UserInfoService,
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
